[IRGen] Collect metadata from like type and add type information when GEPing into raw layouts #76303
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, we weren't collecting the metadata from the like or count type so something generic over say a
Mutex
would cause a compiler crash because it wouldn't know where to find some metadata. Additionally, we weren't typing the addresses used when handling takes and destroys of raw layout causing some issues with certain like types because they would require long chains of GEPs to get the underlying value where previously we would exhaust the storage type (because it was in terms of the raw layout's storage type).Resolves: rdar://134365415 and rdar://132358675